package com.yxy.mapper;

import com.github.pagehelper.Page;
import com.yxy.pojo.dto.AdminPageQueryDTO;
import com.yxy.pojo.entity.Admin;
import com.yxy.pojo.vo.AdminPageQueryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface AdminMapper {

    /**
     * 根据用户名查询管理员
     * @param adminUname
     * @return
     */
    @Select("select * from admin where admin_uname = #{adminUname}")
    Admin selectByUname(String adminUname);

    /**
     * 设置登录时间
     * @param admin
     */
    void setLoginTime(Admin admin);

    /**
     * 根据id查询管理员
     * @param id
     * @return
     */
    @Select("select * from admin where id = #{id}")
    Admin selectById(int id);

    /**
     * 修改管理员信息
     * @param admin
     */
    void update(Admin admin);

    /**
     * 分页查询管理员信息
     * @param adminPageQueryDTO
     * @return
     */
    Page<AdminPageQueryVO> pageQuery(AdminPageQueryDTO adminPageQueryDTO);

    /**
     * 批量删除
     * @param ids
     */
    void deleteByIds(List<Integer> ids);

    /**
     * 修改管理员状态
     * @param id
     * @param status
     */
    @Update("update admin set status = #{status} where id = #{id}")
    void updateStatus(int id, int status);

    /**
     * 添加管理员
     * @param admin
     */
    void insert(Admin admin);
}
